[INFO] fetching crate cubing_core 0.15.2...
[INFO] fixing cubing_core-0.15.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate cubing_core 0.15.2 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate cubing_core 0.15.2
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate cubing_core 0.15.2
[INFO] tweaked toml for crates.io crate cubing_core 0.15.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate cubing_core 0.15.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate cubing_core 0.15.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27
[INFO] running `Command { std: "docker" "start" "7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking litemap v0.7.4
[INFO] [stderr]     Checking writeable v0.5.5
[INFO] [stderr]     Checking icu_locid_transform_data v1.5.0
[INFO] [stderr]     Checking icu_properties_data v1.5.0
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking utf16_iter v1.0.5
[INFO] [stderr]     Checking icu_normalizer_data v1.5.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking write16 v1.0.0
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]     Checking itoa v1.0.14
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]     Checking more-asserts v0.3.1
[INFO] [stderr]     Checking clap_builder v4.5.26
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling clap_derive v4.5.24
[INFO] [stderr]    Compiling derive_more v0.99.18
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking zerofrom v0.1.5
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking clap v4.5.26
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking cubing_core v0.15.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/kpuzzle/packed/ktransformation.rs (1 fix)
[INFO] [stderr]        Fixed src/kpuzzle/json_macros.rs (5 fixes)
[INFO] [stderr]        Fixed src/kpuzzle/packed/packed_orbit_data.rs (3 fixes)
[INFO] [stderr]        Fixed src/kpuzzle/packed/kpattern.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/kpuzzle/packed/kpuzzle.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 170 |               let a = transformation_from_alg(kpuzzle, &commutator.a)?;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 171 |               let b = transformation_from_alg(kpuzzle, &commutator.b)?;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] 172 |               let a_prime = transformation_from_alg(kpuzzle, &commutator.a.invert())?; // TODO: invert the transformation instead o...
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a_prime` calls a custom destructor
[INFO] [stdout]     |                   `a_prime` will be dropped later as of Edition 2024
[INFO] [stdout] 173 |               let b_prime = transformation_from_alg(kpuzzle, &commutator.b.invert())?; // TODO: invert the transformation instead o...
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b_prime` calls a custom destructor
[INFO] [stdout]     |                   `b_prime` will be dropped later as of Edition 2024
[INFO] [stdout] 174 |               Ok(a.apply_transformation(&b)
[INFO] [stdout]     |                  ^-------------------------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |  ________________up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |
[INFO] [stdout] 175 | |                 .apply_transformation(&a_prime)
[INFO] [stdout]     | |                                               ^
[INFO] [stdout]     | |                                               |
[INFO] [stdout]     | |_______________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 176 |                   .apply_transformation(&b_prime))
[INFO] [stdout] 177 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_prime` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b_prime` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/kpuzzle/packed/kpuzzle.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 179 | ...       let a = transformation_from_alg(kpuzzle, &conjugate.a)?;
[INFO] [stdout]     |               -
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `a` calls a custom destructor
[INFO] [stdout]     |               `a` will be dropped later as of Edition 2024
[INFO] [stdout] 180 | ...       let b = transformation_from_alg(kpuzzle, &conjugate.b)?;
[INFO] [stdout]     |               -
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `b` calls a custom destructor
[INFO] [stdout]     |               `b` will be dropped later as of Edition 2024
[INFO] [stdout] 181 | ...       let a_prime = transformation_from_alg(kpuzzle, &conjugate.a.invert())?; // TODO: invert the transformation instead of the...
[INFO] [stdout]     |               -------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `a_prime` calls a custom destructor
[INFO] [stdout]     |               `a_prime` will be dropped later as of Edition 2024
[INFO] [stdout] 182 | ...       Ok(a.apply_transformation(&b).apply_transformation(&a_prime))
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 183 | ...   }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_prime` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/kpuzzle/packed/kpattern.rs:585:22
[INFO] [stdout]     |
[INFO] [stdout] 584 | /         assert_eq!(
[INFO] [stdout] 585 | |             unsafe { start_pattern.apply_transformation(&t1).byte_slice() },
[INFO] [stdout]     | |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 586 | |             vec![
[INFO] [stdout] 587 | |                 /* EP */ 0, 0, 0, 0, 1, 0, 3, 4, 2, 0, 0, 0, /* EO */ 1, 1, 1, 1, 0, 1,
[INFO] [stdout] ...   |
[INFO] [stdout] 591 | |         );
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/kpuzzle/packed/kpattern.rs:593:22
[INFO] [stdout]     |
[INFO] [stdout] 592 | /         assert_eq!(
[INFO] [stdout] 593 | |             unsafe { start_pattern.apply_transformation(&t1).byte_slice() },
[INFO] [stdout]     | |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 594 | |             unsafe {
[INFO] [stdout] 595 | |                 start_pattern
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |         );
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/kpuzzle/packed/kpattern.rs:595:17
[INFO] [stdout]     |
[INFO] [stdout] 592 | /          assert_eq!(
[INFO] [stdout] 593 | |              unsafe { start_pattern.apply_transformation(&t1).byte_slice() },
[INFO] [stdout] 594 | |              unsafe {
[INFO] [stdout] 595 | |/                 start_pattern
[INFO] [stdout] 596 | ||                     .apply_move(&("R").parse::<Move>().unwrap())
[INFO] [stdout] 597 | ||                     .unwrap()
[INFO] [stdout]     | ||_____________________________^ this temporary value will be dropped at the end of the block
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |          );
[INFO] [stdout]     | |__________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/kpuzzle/packed/kpuzzle.rs:174:16
[INFO] [stdout]     |
[INFO] [stdout] 170 |               let a = transformation_from_alg(kpuzzle, &commutator.a)?;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a` calls a custom destructor
[INFO] [stdout]     |                   `a` will be dropped later as of Edition 2024
[INFO] [stdout] 171 |               let b = transformation_from_alg(kpuzzle, &commutator.b)?;
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b` calls a custom destructor
[INFO] [stdout]     |                   `b` will be dropped later as of Edition 2024
[INFO] [stdout] 172 |               let a_prime = transformation_from_alg(kpuzzle, &commutator.a.invert())?; // TODO: invert the transformation instead o...
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `a_prime` calls a custom destructor
[INFO] [stdout]     |                   `a_prime` will be dropped later as of Edition 2024
[INFO] [stdout] 173 |               let b_prime = transformation_from_alg(kpuzzle, &commutator.b.invert())?; // TODO: invert the transformation instead o...
[INFO] [stdout]     |                   -------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `b_prime` calls a custom destructor
[INFO] [stdout]     |                   `b_prime` will be dropped later as of Edition 2024
[INFO] [stdout] 174 |               Ok(a.apply_transformation(&b)
[INFO] [stdout]     |                  ^-------------------------
[INFO] [stdout]     |                  |
[INFO] [stdout]     |                  this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |  ________________up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |
[INFO] [stdout] 175 | |                 .apply_transformation(&a_prime)
[INFO] [stdout]     | |                                               ^
[INFO] [stdout]     | |                                               |
[INFO] [stdout]     | |_______________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 176 |                   .apply_transformation(&b_prime))
[INFO] [stdout] 177 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_prime` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b_prime` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/kpuzzle/packed/kpuzzle.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 179 | ...       let a = transformation_from_alg(kpuzzle, &conjugate.a)?;
[INFO] [stdout]     |               -
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `a` calls a custom destructor
[INFO] [stdout]     |               `a` will be dropped later as of Edition 2024
[INFO] [stdout] 180 | ...       let b = transformation_from_alg(kpuzzle, &conjugate.b)?;
[INFO] [stdout]     |               -
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `b` calls a custom destructor
[INFO] [stdout]     |               `b` will be dropped later as of Edition 2024
[INFO] [stdout] 181 | ...       let a_prime = transformation_from_alg(kpuzzle, &conjugate.a.invert())?; // TODO: invert the transformation instead of the...
[INFO] [stdout]     |               -------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `a_prime` calls a custom destructor
[INFO] [stdout]     |               `a_prime` will be dropped later as of Edition 2024
[INFO] [stdout] 182 | ...       Ok(a.apply_transformation(&b).apply_transformation(&a_prime))
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 183 | ...   }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `b` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `a_prime` invokes this custom destructor
[INFO] [stdout]    --> src/kpuzzle/packed/packed_orbit_data.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | impl Drop for PackedOrbitData {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/kpuzzle_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/puzzle_tests.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/alg_tests.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.35s
[INFO] [stderr] crater-edition-check: cubing_core v0.15.2 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking cubing_core v0.15.2 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/kpuzzle/packed/kpattern.rs:585:22
[INFO] [stdout]     |
[INFO] [stdout] 584 | /         assert_eq!(
[INFO] [stdout] 585 | |             unsafe { start_pattern.apply_transformation(&t1).byte_slice() },
[INFO] [stdout]     | |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^            - temporary value is freed at the end of this statement
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |                      creates a temporary value which is freed while still in use
[INFO] [stdout] 586 | |             vec![
[INFO] [stdout] 587 | |                 /* EP */ 0, 0, 0, 0, 1, 0, 3, 4, 2, 0, 0, 0, /* EO */ 1, 1, 1, 1, 0, 1,
[INFO] [stdout] ...   |
[INFO] [stdout] 591 | |         );
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/kpuzzle/packed/kpattern.rs:593:22
[INFO] [stdout]     |
[INFO] [stdout] 592 | /         assert_eq!(
[INFO] [stdout] 593 | |             unsafe { start_pattern.apply_transformation(&t1).byte_slice() },
[INFO] [stdout]     | |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^            - temporary value is freed at the end of this statement
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |                      creates a temporary value which is freed while still in use
[INFO] [stdout] 594 | |             unsafe {
[INFO] [stdout] 595 | |                 start_pattern
[INFO] [stdout] ...   |
[INFO] [stdout] 600 | |         );
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/kpuzzle/packed/kpattern.rs:595:17
[INFO] [stdout]     |
[INFO] [stdout] 592 | /          assert_eq!(
[INFO] [stdout] 593 | |              unsafe { start_pattern.apply_transformation(&t1).byte_slice() },
[INFO] [stdout] 594 | |              unsafe {
[INFO] [stdout] 595 | |/                 start_pattern
[INFO] [stdout] 596 | ||                     .apply_move(&("R").parse::<Move>().unwrap())
[INFO] [stdout] 597 | ||                     .unwrap()
[INFO] [stdout]     | ||_____________________________^ creates a temporary value which is freed while still in use
[INFO] [stdout] 598 | |                      .byte_slice()
[INFO] [stdout]     | |                                  - temporary value is freed at the end of this statement
[INFO] [stdout] 599 | |              }
[INFO] [stdout] 600 | |          );
[INFO] [stdout]     | |__________- borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `cubing_core` (lib test) due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27", kill_on_drop: false }`
[INFO] [stdout] 7b5bd1c4e29dde821ce57f7e2c1c6f6500df375bc3cb7e1d65715a287d6f1d27
